package com.util;

import java.sql.*;
import java.util.Properties;

/**
 * @author admin
 */

public class DBUtil {

    private static Connection conn = null;
    private static Properties pro = new Properties();
    //加载驱动,使用静态块，只需要加载一次
    static {
        try {
/**
             * 加载配置文件的两种方法，任选一种都可以
             */

            //pro.load(DBUtil.class.getResourceAsStream("/DBUtil.properties"));
            pro.load(DBUtil.class.getClassLoader().getResourceAsStream("db.properties"));
//            String DRIVER = pro.getProperty("DRIVER");
//            Class.forName(DRIVER);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    //获取Connection连接对象的方法,使用static方便之后在其他类中调用
    public static Connection getConn() {
        try {
            String jdbcUrl = pro.getProperty("oracle.jdbcUrl");
            String username = pro.getProperty("oracle.username");
            String password = pro.getProperty("oracle.password");
            conn = DriverManager.getConnection(jdbcUrl,username,password);
            System.out.println("数据库连接成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

    //关闭资源的方法
    public  static void close(ResultSet rs, PreparedStatement ps, Connection conn) {
        if(rs!=null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(ps!=null) {
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(conn!=null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}
